Spacial derivative bus encoder and decoder

ABSTRACT

A method and apparatus for providing efficient and accurate electronic data transmission of information on a data bus in the presence of noise. Data signals are received on a plurality of input lines by a spacial derivative encoder. The spacial derivative encoder encodes the signals and transmits them to a receiver having a spacial derivative decoder. The spacial derivative decoder then decodes the signals. Minimal overhead is required as for n input lines only n+1 lines are needed to transmit each of the encoded signals.

RELATED APPLICATIONS

[0001] This application is a continuation application of Ser. No.08/971,185, filed on Nov. 17, 1997, entitled SPACIAL DERIVATIVE BUSENCODER AND DECODER.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates in general to methods and apparatusfor electronic data transmission, and in particular to a system andmethod for efficiently and accurately transmitting information on a databus in the presence of noise.

[0004] 2. Background Information

[0005] A data bus commonly consists of lines for transferring data wordsbetween devices within a computer. A data word is made up of data bitstransmitted as varying voltages on the data bus lines. Noise,interference, or other events such as ground voltage shifts betweentransmitter and receiver alter the signal such that what is sent may notbe what is received. The possibility of signal alteration, whether ornot it actually occurs, creates a need for ways to improve signalintegrity. Both hardware and software solutions have been considered inthe development of accurate data transmission methods.

[0006] One method of improving signal integrity is to run a separateground line between the transmitter and receiver. The ground linevoltage is used as a reference voltage. The difference between the datasignal received at the receiver and the ground line voltage at thereceiver is used to determine the signal polarity. One problem with thismethod is that it is not precise—the margin of error inherent inmeasuring voltage levels at the receiver may either mask or exaggeratevoltage level variations due to noise. In addition, since there is nosignal being driven down the ground line, the ground line voltage may beaffected differently by the interfering source, again potentiallymasking or exaggerating transmission errors. Many applications have aneed, however, for highly accurate message transfer.

[0007] Another message verification method is to run a differential linefor each data line. According to this method there are two lines forevery channel between the transmitter and the receiver. The first linecarries the signal and the second line carries the complement of thatsignal (for example, where the first line value is ‘1’, the second linevalue is ‘0’). The message being transferred is represented by thedifference between the two signals. Any ground voltage shifts occurringduring transmission equally affect both lines, so there is no net effecton the message because the difference between the two lines remainsconstant. One of the primary benefits of this method is that it requiresno local reference value. The weakness is that it doubles the number ofrequired transmission lines. With the continual push to manufacturedevices with more elements and smaller overall size, there is a need toachieve a higher level of signal accuracy with minimal hardware overheadrequirements.

SUMMARY OF THE INVENTION

[0008] A method is provided for electronically transmitting informationon a data bus efficiently and effectively. The method of the presentinvention can be used in combination with a variety of operationalmodes, including but not limited to full duplex communications. Byreducing noise generation at the transmitter and rejecting common modenoise at the receiver, the system of the present invention increases thedata bandwidth on data buses.

[0009] The embodiments of the present invention are improvements overconventional systems and methods in part because fewer transmissionlines are required and as a result noise generated at the transmittercircuit is reduced. Conventional differential transmission systems use2*n lines for n bits, where the system of the invention requires onlyn+1 lines. In addition, power consumed by the transmitter circuit isdecreased because fewer signals have to be transmitted. The reducednumber of required lines allows devices employing the system and methodsof the invention to maintain high quality data transmission whilereducing the costs associated with manufacturing and maintaining moretransmission lines. Another advantage of the present invention is thatcommon mode noise is removed at the receiver. In one embodiment thesystem of the invention also compensates for crosstalk between thesignals.

[0010] According to one embodiment of the invention, a method ofencoding n signals is provided, using a reference voltage signal,wherein the differences between adjacent signals are determined andtransmitted as n+1 encoded signals. A method of decoding m encodedsignals is also provided, wherein the encoded signals are processedthrough an array of resistors, giving the original n signals.

[0011] Another embodiment describes a spacial derivative encoder,comprising one or more differential amplifiers, including a first and asecond differential amplifier, one or more input data lines connected tothe one or more differential amplifiers, a fixed reference voltage line,connected to the first and the second differential amplifier, and one ormore output transmission lines connected to the one or more differentialamplifiers, the number of output transmission lines equal to n+1, wheren is the number of input data lines. A spacial derivative decoder isalso provided, comprising one or more input transmission lines, one ormore differential amplifiers, the number of differential amplifiersequal to m−1, where m is the number of encoded input transmission lines,a resistor network electrically located between the one or more inputtransmission lines and the one or more differential amplifiers, and oneor more output data lines connected to the one ore more differentialamplifiers, the number of output data lines equal to the number ofdifferential amplifiers. In an additional embodiment the resistornetwork further comprises an array of resistors for averaging signalsreceived on the one or more input transmission lines. Yet anotherembodiment provides a communications system, comprising a spacialderivative encoder and a spacial derivative decoder.

[0012] In another embodiment, signals are processed through atime-domain encoding scheme prior to differential encoding. This allowsthe system to account for the actual variation of a signal voltage,thereby compensating for signal dispersion and reducing base line wanderdue to frequency-dependent attenuation on lines. Time-domain encodingalso reduces inter-symbol interference resulting from reflections ordispersion on the signal lines.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a block diagram of a transmitter transferring encodeddata to a receiver over a signal line.

[0014]FIG. 2 is a schematic drawing of a spacial derivativeencoder/driver 100 comprising two input data lines according to oneembodiment of the present invention.

[0015]FIG. 3 is a schematic drawing of a spacial derivativeencoder/driver 100 comprising four input data lines according to anotherembodiment of the present invention.

[0016]FIG. 4 is a schematic drawing of a spacial derivative decoder 200comprising three input data lines according to one embodiment of thepresent invention.

[0017]FIG. 5 is a schematic drawing of a spacial derivative decoder 200comprising five input data lines according to another embodiment of thepresent invention.

[0018]FIG. 6 is a representation of oscilloscope displays of an inputdata signal and a reference voltage signal in their original form, afterthey have been encoded, and after they have been decoded.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] In the following Detailed Description of the PreferredEmbodiments, reference is made to the accompanying drawings which form apart hereof, and in which is shown by way of illustration specificembodiments in which the invention may be practiced. It is to beunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

[0020]FIG. 1 is a block diagram of the basic process involved intransmitting data across a network. Input data is transferred totransmitter 100 from where it is then transmitted over one or moresignal lines 130.0-130.4 to receiver 200. Receiver 200 then transfersthe data out. An accurate data transmission system outputs data fromreceiver 200 which matches that input into transmitter 100. In oneembodiment of the present invention data verification is accomplishedthrough encoding the input data at transmitter 100 and then transmittingthe encoded data to receiver 200 where it is decoded and verified beforebeing transferred out.

[0021]FIG. 2 is a schematic drawing of a transmitter 100 comprising aspacial derivative encoder/driver according to one embodiment of thepresent invention. According to the embodiment shown, inputs to theencoder 100 include two fixed reference voltage lines 110, 112, and twoinput data lines 120.0-120.1. Data inputs are processed throughdifferential amplifiers 150.0-150.2. A differential amplifier is adual-input amplifier that amplifies the difference between its twosignal inputs. A differential amplifier eliminates or greatly minimizesmany common sources of error. For example, drift errors tend to cancelout in a differential architecture. In addition, a differentialamplifier is able to reject common-mode signals (that is, unwantedsignals present at both of the amplifier inputs or other common points).

[0022] Amplifiers 150.0-150.2 have a differential output on transmissionlines 130.0-130.2. To accomplish spacial encoding, the system driveseach output transmission line 130 with the difference between thesignals on adjacent input data lines 120. In the case of the first andlast input data lines 120.0, 120.1, the respective amplifiers comparethe input data with input from fixed reference voltage lines 110, 112and adjacent input data lines 120.1, 120.0, respectively. Those skilledin the art will recognize that neither the spirit nor scope of theinvention is exceeded by configurations incorporating a different numberof input data lines. The number of input data lines that can be encodedin this way can be any number greater than zero. FIG. 3 is anotherexample, and illustrates the spacial derivative encoder of the presentinvention encoding four input data lines 120.0-120.3. The firstdifferential amplifier 150.0 compares reference voltage line 110 andinput data line 120.0, giving output on output transmission line 130.0.The second differential amplifier 150.1 compares input data line 120.0and input data line 120.1, giving output on output transmission line130.1. The third differential amplifier 150.2 compares input data line120.1 and input data line 120.2, giving output on output transmissionline 130.2. The fourth differential amplifier 150.3 compares input dataline 120.2 and input data line 120.3, giving output on outputtransmission line 130.3. And the fifth differential amplifier 150.4compares reference voltage line 112 and input data line 120.3, givingoutput on output transmission line 130.4.

[0023] If the number of input data lines equals one, then this schemebecomes equivalent to a differential transmission line. Any number ofdata input lines greater than one increases the number of transmissionlines by the same number. The number of required transmission lines canbe determined by the simple formula n+1, where n is the number of inputlines. As an example, four input data lines require five transmissionlines, and eight input data lines require nine transmission lines. Thisprovides significant savings in the number of transmission lines overconventional differential transmission, which requires two transmissionlines for every one input data line (the conventional number of requiredtransmission lines=n*2, where n is the number of input lines). Thereduced number of transmission lines provides other benefits as well.Fewer lines means less power is consumed by the transmitter circuit.Also, since the transmitter is issuing fewer signals, the noise level atthe transmitter is reduced.

[0024]FIG. 4 is a schematic drawing of a receiver comprising a spacialderivative decoder 200 according to one embodiment of the presentinvention. To decode the encoded signals received on data input lines130.0-130.2 the following calculation is used for i=0 to (n−1), where nis the number of data input lines, Output(i) is the data output linereference, and IN(i) is the transmission line reference:

Output(i)=average(IN(0) through IN(i))−average(IN(i+1) through IN(n))

[0025] One skilled in the art will recognize that any number of inputlines greater than one can be used without exceeding the scope or spiritof the invention. Differential output transmitted by encoder 100 isreceived by decoder 200 on transmission lines 130.0-130.2. Resistornetwork 400 comprises a pattern of resistors RA0-RC1 and averages thesignals received on transmission lines 130.0-130.2. In the embodimentshown resistor network 400 comprises two resistors for every input dataline. It is to be recognized that FIGS. 4 and 5 are exemplary only andthat resistor network 400 is flexible enough to accommodate any numberof input data lines.

[0026] As an example of the operation of the spacial derivative encodershown in FIG. 4, line 210.0 carries the voltage received fromtransmission line 130.0 to one input of differential amplifier 310.0.Line 210.1 carries the average voltage from the remaining transmissionlines 130.1, 130.2 to a second input of the differential amplifier310.0. Differential amplifier 310.0 performs the subtraction,transmitting the decoded signal on output data line 140.0. Differentialamplifier 310.1 generates the signal for output data line 140.1 bydetermining the difference between the average voltage of lines 130.0,130.1 (received by differential amplifier 310.1 on line 210.2) and thevoltage received on input data line 130.2 (received by differentialamplifier 310.1 on line 210.3).

[0027]FIG. 5 illustrates a spacial derivative decoder comprising fiveinput data lines. Input data lines 130.0-130.4 and differentialamplifiers 310.0-310.3 are connected to resistor network 400.Differential amplifier 310.0 determines the difference between thevoltage on data input line 130.0 (via line 210.0) and the averagevoltage of the remaining input data lines 130.1-130.4 (via line 210.0).Differential amplifier 310.1 determines the difference between theaverage voltage of data input lines 130.0 and 130.1 (via line 210.2) andthe average voltage of the remaining input data lines 130.2-130.4 (vialine 210.3). Differential amplifier 310.2 determines the differencebetween the average voltage of data input lines 130.0-130.2 (via line210.4) and the average voltage of the remaining input data lines130.3-130.4 (via line 210.5). Differential amplifier 310.3 determinesthe difference between the voltage on data input line 130.4 (via line210.7) and the average voltage of the remaining input data lines130.0-130.3 (via line 210.6). The decoded signals are transmitted bydifferential amplifiers 310.0-310.3 on output transmission lines140.0-140.3, respectively.

[0028]FIG. 6 is a representation of oscilloscope displays of thetransitions of an input data signal and a reference voltage signalthrough the various stages according to one embodiment of the presentinvention. The first display 610 shows a representation of an input datasignal 612 and a reference voltage signal 611, such as might be receivedby encoder 100 on lines 120.0, 110, respectively. The data beingtransmitted is represented by the difference between the two signals612, 611. The second display 620 shows a representation of two encodedtransmissions 621, 622 such as are transmitted by encoder 100 ontransmission lines 130.0-130.4. Note that the differential amplifiers150.0-150.3 introduce a gain of one to enable more accurateinterpretation of the signals at the receiving end. As can be seen fromthe display, the reference voltage signal effectively complements theinput data signal. The third display 630 shows the decoded signals 631,632 after they have been received and decoded by decoder 200. The datamessage is reflected by the difference between the signals 631, 632.

[0029] In another embodiment, signals are processed through atime-domain encoding scheme prior to differential encoding. Time-domainencoding enables the system to account for the actual variation of asignal voltage over time. Thus the system is able to compensate forsignal dispersion and reduce the effect of base line wander due tofrequency-dependent attenuation on lines. Time-domain encoding alsoreduces inter-symbol interference caused by propagation delays betweenthe first- and last-arriving significant signal components resultingfrom reflections or dispersion on the signal lines.

[0030] The system of the present invention increases the data bandwidthon data buses by reducing noise generation at the transmitter andrejecting common mode noise at the receiver. The affect of purely randomnoise must still be considered, but a properly configured digital systemminimizes this type of noise.

[0031] Although the present invention has been described with referenceto the preferred embodiments, those skilled in the art will recognizethat changes may be made in form and detail without departing from thespirit and scope of the invention.

What is claimed is:
 1. A method of transferring a first and a secondinput signal over a set of signal lines, wherein the set of signal linesincludes a first, a second and a third signal line, wherein the methodcomprises the steps of: providing a first and a second referencevoltage; generating a first output signal as a function of thedifference between the first reference voltage and the first inputsignal; generating a second output signal as a function of thedifference between the first and second input signals; generating athird output signal as a function of the difference between the secondreference voltage and the second input signal; driving the first signalline with the first output signal; driving the second signal line withthe second output; and driving the third signal line with the thirdoutput signal.
 2. A method of encoding n signals, wherein n is aninteger greater than one and wherein the n signals include signals in(0)through in(n−1), the method comprising the steps of: providing areference voltage; and encoding the n signals into n+1 encoded signalscomprising signals enc(0) through enc(n), wherein the step of encodingcomprises the steps of: determining the difference between the referencevoltage and signal in(0) and generating a signal enc(0) as a function ofthe difference between the reference voltage and signal in(0) as signalenc(0); for i from 1 to (n−1) determining the difference between signalin(i−1) and signal in(i) and generating a signal enc(i) as a function ofthe difference between signal in(i−1) and signal in(i); and determiningthe difference between the reference voltage and signal in(n) andgenerating a signal enc(i) as a function of the difference between thereference voltage and signal in(n).
 3. The method of claim 2 wherein thestep of encoding further comprises the step of encoding the n signalsusing time domain encoding.
 4. A method of decoding encoded signals,wherein the encoded signals include signals enc(0) through enc(m−1),wherein m is an integer greater than two, the method of decodingcomprising the steps of: receiving the encoded signals; decoding theencoded signals into (m−1) output signals, wherein the output signalsinclude signals out(0) through out(m−2) and wherein the step of decodingincludes the steps, for i from 0 to m−2, of: determining a first averageas a function of signals enc(0) though enc(i); determining a secondaverage as a function of signals enc(i+1) though enc(m−1); determining adifference between the first average and the second average; andtransmitting the difference as signal out(i).
 5. A communicationssystem, comprising: a spacial derivative encoder for driving two inputdata signals onto three output signal lines, wherein the three outputsignal lines include a first, a second and a third output signal lineand wherein the spacial derivative encoder drives the first outputsignal line with a first output signal generated as a function of thedifference between the first reference voltage and the first inputsignal, drives the second output signal line with a second output signalgenerated as a function of the difference between the first and secondinput signals and drives the third output signal line with a thirdoutput signal generated as a function of the difference between thesecond reference voltage and the second input signal; and a spacialderivative decoder for decoding the first, second and third outputsignals into a first and a second output data signal, wherein thespacial derivative decoder receives the encoded first, second and thirdoutput signals and determines the first and second output data signalsas a function of the first, second and third output signals.
 6. Thesystem according to claim 5, wherein the spacial derivative decoderdetermines a first average as a function of the first and second outputsignals, determines a second average as a function of signals enc(i+1)though enc(m−1) and determines a difference between the first averageand the second average.
 7. A communications system, comprising: aspacial derivative encoder wherein the spacial derivative encoderincludes: a first, a second and a third differential amplifier, whereineach of the differential amplifiers has a first signal input, a secondsignal input, and a signal output; a first reference voltage lineconnected to the first signal input of the first differential amplifier;a second reference voltage line connected to the second signal input ofthe third differential amplifier; a first input data line connected tothe second signal input of the first differential amplifier and to thefirst signal input of the second differential amplifier; and a secondinput data line connected to the second signal input of the seconddifferential amplifier and to the first signal input of the thirddifferential amplifier; and a spacial derivative decoder for receivingand decoding signals received from the signal outputs of said first,second and third differential amplifiers and for generating a first anda second output signal as a function of the signals received from thesignal outputs of said first, second and third differential amplifiers.8. The communications system of claim 7, wherein the spacial derivativedecoder comprises: a resistor network, connected to the signal outputsof said first, second and third differential amplifiers; and a firstdifferential amplifier connected to the resistor network, for generatinga signal representative of a signal on the first input data line; and asecond differential amplifier connected to the resistor network, forgenerating a signal representative of a signal on the second input dataline.
 9. The spacial derivative decoder of claim 8, wherein the resistornetwork comprises an array of resistors for averaging signals receivedfrom the signal outputs of said first, second and third differentialamplifiers.
 10. A spacial derivative encoder, comprising: a referencesignal; a plurality of input data signals, including a first and asecond input data signal; and a first, a second and a third differentialamplifier; wherein the first differential amplifier is connected to thereference signal and the first input data signal and generates a signalas a function of the difference between the reference signal and thefirst input data signal; wherein the second differential amplifier isconnected to the first and second input data signal and generates asignal as a function of the difference between the first and secondinput data signals; and wherein the third differential amplifier isconnected to the second input data signal.
 12. The spacial derivativeencoder of claim 11, wherein the third differential amplifier is furtherconnected to the reference signal and wherein the third differentialamplifier generates a signal as a function of the difference between thesecond input data signal and the reference signal.
 13. The spacialderivative encoder of claim 11, wherein the spacial derivative encoderfurther comprises a third and a fourth input data signal and a fourthand a fifth differential amplifier; wherein the third differentialamplifier is further connected to the third input data signal andgenerates a signal as a function of the difference between the secondand third input data signals; wherein the fourth differential amplifieris connected to the third and fourth input data signals and generates asignal as a function of the difference between the third and fourthinput data signal; and wherein the fifth differential amplifier isconnected to the reference signal and the fourth input data signal andgenerates a signal as a function of the difference between the referencesignals and the fourth input data signal.
 14. A spacial derivativedecoder, comprising: a resistor network; a first and a seconddifferential amplifier connected to the resistor network; and aplurality of input data signals, including a first and a last input datasignal, wherein the plurality of input data signals are connected to theresistor network; wherein the first differential amplifier determinesthe difference between the first input data signal and the average ofeach of the remaining input data signals; wherein the seconddifferential amplifier determines the difference between the last inputdata signal and the average of each of the remaining input data signals.15. The spacial derivative decoder of claim 14, wherein the spacialderivative decoder further comprises a third and fourth differentialamplifier, wherein the third and fourth differential amplifiers areconnected to the resistor network; wherein the plurality of input datasignals further includes a second and a third input data signal; whereinthe third differential amplifier determines the difference between anaverage of the first and second input data signals and an average of theremaining input data signals; and wherein the fourth differentialamplifier determines the difference between an average of the first,second and third input data signals and an average of the remaininginput data signals.